\hypertarget{class_template_buffer}{
\section{TemplateBuffer$<$ type $>$ Class Template Reference}
\label{class_template_buffer}\index{TemplateBuffer@{TemplateBuffer}}
}


this class is a simple template memory buffer which contains basic functions to get information on or normalize the buffer content note that thanks to the parent STL template class \char`\"{}valarray\char`\"{}, it is possible to perform easily operations on the full array such as addition, product etc.  




{\ttfamily \#include $<$TemplateBuffer.hpp$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_template_buffer_a24740e1c95bf67ec705c83f3eecf4c3f}{TemplateBuffer} (const size\_\-t dim=0)
\item 
\hyperlink{class_template_buffer_a78db816bc0c01a4027473299efa21d41}{TemplateBuffer} (const type $\ast$pVal, const size\_\-t dim)
\item 
\hyperlink{class_template_buffer_a90b5c5a4f20469f9b8f36f0ba0403ba7}{TemplateBuffer} (const size\_\-t dimRows, const size\_\-t dimColumns, const size\_\-t depth=1)
\item 
virtual \hyperlink{class_template_buffer_a4faa84ea2e017c122d98aaa92a8197a3}{$\sim$TemplateBuffer} ()
\item 
void \hyperlink{class_template_buffer_a8ce492a94d1254affb0279625b684a2e}{setZero} ()
\item 
unsigned int \hyperlink{class_template_buffer_ad2e07be80d1bfd7497437ec790bc6f08}{getNBrows} ()
\item 
unsigned int \hyperlink{class_template_buffer_abeda561d7c7c6b0d1b1e804067f56caf}{getNBcolumns} ()
\item 
unsigned int \hyperlink{class_template_buffer_a5213de8110298761ae455cb58b00fcbd}{getNBpixels} ()
\item 
unsigned int \hyperlink{class_template_buffer_a067c5074d81e1394473a9777decaa9bb}{getDepthSize} ()
\item 
void \hyperlink{class_template_buffer_a53559da4857ef9be10481fc7cf4fe426}{resizeBuffer} (const size\_\-t dimRows, const size\_\-t dimColumns, const size\_\-t depth=1)
\item 
void \hyperlink{class_template_buffer_ab0e6f57c5dc49f18ad2e87158eeedee2}{ShiftLeft} (const size\_\-t nb)
\item 
type $\ast$ \hyperlink{class_template_buffer_a6c930adc18278d816acea49df8b8b485}{Buffer} ()
\item 
void \hyperlink{class_template_buffer_ace80e5b52a471e30c48b61944b274438}{normalizeGrayOutput\_\-0\_\-maxOutputValue} (type $\ast$inputOutputBuffer=(type $\ast$) NULL, const size\_\-t nbPixels=0, const type maxOutputValue=(type) 255.0)
\item 
void \hyperlink{class_template_buffer_ac7916ef90fdc71e774dece4d3598d6e8}{normalizeGrayOutputCentredSigmoide} (const type meanValue=(type) 0.0, const type sensitivity=(type) 2.0, type $\ast$inputPicture=(type $\ast$) NULL, type $\ast$outputBuffer=(type $\ast$) NULL, const type maxOutputValue=(type) 255.0)
\item 
void \hyperlink{class_template_buffer_adad909f10092ff4fbda3831120bda1d1}{normalizeGrayOutputNearZeroCentreredSigmoide} (type $\ast$inputPicture=(type $\ast$) NULL, type $\ast$outputBuffer=(type $\ast$) NULL, const type sensitivity=(type) 40, const type maxOutputValue=(type) 255.0)
\item 
void \hyperlink{class_template_buffer_a8af163675e8f3a431111a59b63bf8870}{centerReductImageLuminance} (type $\ast$inputOutputBuffer=(type $\ast$) NULL)
\item 
const double \hyperlink{class_template_buffer_a17a6fb35647f61012e1c4eda6ab1bdca}{getStandardDeviation} ()
\item 
void \hyperlink{class_template_buffer_ae387e6014f7dac2877e6aa19aefda888}{clipHistogram} (double minRatio, double maxRatio, double maxOutputValue)
\item 
const double \hyperlink{class_template_buffer_a595ede8abaa4bad8767f5df4acd3c2b7}{getMean} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_template_buffer_ab3e4714946074e5af061d320d8e475f4}{
type {\bfseries \_\-abs} (const type x)}
\label{class_template_buffer_ab3e4714946074e5af061d320d8e475f4}

\item 
\hypertarget{class_template_buffer_aec86bd1882f81b07096a50fc9e2efc5c}{
{\footnotesize template$<$$>$ }\\int {\bfseries \_\-abs} (const int x)}
\label{class_template_buffer_aec86bd1882f81b07096a50fc9e2efc5c}

\item 
\hypertarget{class_template_buffer_af71d9f9c9fc018c0378cbddc97a2bc55}{
{\footnotesize template$<$$>$ }\\double {\bfseries \_\-abs} (const double x)}
\label{class_template_buffer_af71d9f9c9fc018c0378cbddc97a2bc55}

\item 
\hypertarget{class_template_buffer_ab52dfe33779751dd614449467a40c344}{
{\footnotesize template$<$$>$ }\\float {\bfseries \_\-abs} (const float x)}
\label{class_template_buffer_ab52dfe33779751dd614449467a40c344}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_template_buffer_aaa09b33085ce7253947d0ff2d272ef6b}{
size\_\-t {\bfseries \_\-NBrows}}
\label{class_template_buffer_aaa09b33085ce7253947d0ff2d272ef6b}

\item 
\hypertarget{class_template_buffer_a0cf54b6e2af44cd0e8be8ba8af9ac586}{
size\_\-t {\bfseries \_\-NBcolumns}}
\label{class_template_buffer_a0cf54b6e2af44cd0e8be8ba8af9ac586}

\item 
\hypertarget{class_template_buffer_a7cf2962a4fa4dec9ca7c4ec24b2cbdc4}{
size\_\-t {\bfseries \_\-NBdepths}}
\label{class_template_buffer_a7cf2962a4fa4dec9ca7c4ec24b2cbdc4}

\item 
\hypertarget{class_template_buffer_a3c67cd4e1d3d765a524b72ab92aeccd6}{
size\_\-t {\bfseries \_\-NBpixels}}
\label{class_template_buffer_a3c67cd4e1d3d765a524b72ab92aeccd6}

\item 
\hypertarget{class_template_buffer_ac2cc2302c76d5ab20b547dcb27957a90}{
size\_\-t {\bfseries \_\-doubleNBpixels}}
\label{class_template_buffer_ac2cc2302c76d5ab20b547dcb27957a90}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class type$>$class TemplateBuffer$<$ type $>$}

this class is a simple template memory buffer which contains basic functions to get information on or normalize the buffer content note that thanks to the parent STL template class \char`\"{}valarray\char`\"{}, it is possible to perform easily operations on the full array such as addition, product etc. 

\begin{DoxyAuthor}{Author}
Alexandre BENOIT (\href{mailto:benoit.alexandre.vision@gmail.com}{\tt benoit.alexandre.vision@gmail.com}), helped by Gelu IONESCU (\href{mailto:gelu.ionescu@lis.inpg.fr}{\tt gelu.ionescu@lis.inpg.fr}) release date: september 2007 
\end{DoxyAuthor}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_template_buffer_a24740e1c95bf67ec705c83f3eecf4c3f}{
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{TemplateBuffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ {\bf TemplateBuffer}$<$ type $>$::{\bf TemplateBuffer} (
\begin{DoxyParamCaption}
\item[{const size\_\-t}]{dim = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a24740e1c95bf67ec705c83f3eecf4c3f}
constructor for monodimensional array 
\begin{DoxyParams}{Parameters}
{\em dim,:} & the size of the vector \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_a78db816bc0c01a4027473299efa21d41}{
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{TemplateBuffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ {\bf TemplateBuffer}$<$ type $>$::{\bf TemplateBuffer} (
\begin{DoxyParamCaption}
\item[{const type $\ast$}]{pVal, }
\item[{const size\_\-t}]{dim}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a78db816bc0c01a4027473299efa21d41}
constructor by copy for monodimensional array 
\begin{DoxyParams}{Parameters}
{\em pVal,:} & the pointer to a buffer to copy \\
\hline
{\em dim,:} & the size of the vector \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_a90b5c5a4f20469f9b8f36f0ba0403ba7}{
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\index{TemplateBuffer@{TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{TemplateBuffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ {\bf TemplateBuffer}$<$ type $>$::{\bf TemplateBuffer} (
\begin{DoxyParamCaption}
\item[{const size\_\-t}]{dimRows, }
\item[{const size\_\-t}]{dimColumns, }
\item[{const size\_\-t}]{depth = {\ttfamily 1}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a90b5c5a4f20469f9b8f36f0ba0403ba7}
constructor for bidimensional array 
\begin{DoxyParams}{Parameters}
{\em dimRows,:} & the size of the vector \\
\hline
{\em dimColumns,:} & the size of the vector \\
\hline
{\em depth,:} & the number of layers of the buffer in its third dimension (3 of color images, 1 for gray images. \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_a4faa84ea2e017c122d98aaa92a8197a3}{
\index{TemplateBuffer@{TemplateBuffer}!$\sim$TemplateBuffer@{$\sim$TemplateBuffer}}
\index{$\sim$TemplateBuffer@{$\sim$TemplateBuffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{$\sim$TemplateBuffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ virtual {\bf TemplateBuffer}$<$ type $>$::$\sim${\bf TemplateBuffer} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{class_template_buffer_a4faa84ea2e017c122d98aaa92a8197a3}
destructor 

\subsection{Member Function Documentation}
\hypertarget{class_template_buffer_a6c930adc18278d816acea49df8b8b485}{
\index{TemplateBuffer@{TemplateBuffer}!Buffer@{Buffer}}
\index{Buffer@{Buffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{Buffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ type$\ast$ {\bf TemplateBuffer}$<$ type $>$::Buffer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a6c930adc18278d816acea49df8b8b485}
\begin{DoxyReturn}{Returns}
the buffer adress in non const mode 
\end{DoxyReturn}
\hypertarget{class_template_buffer_a8af163675e8f3a431111a59b63bf8870}{
\index{TemplateBuffer@{TemplateBuffer}!centerReductImageLuminance@{centerReductImageLuminance}}
\index{centerReductImageLuminance@{centerReductImageLuminance}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{centerReductImageLuminance}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::centerReductImageLuminance (
\begin{DoxyParamCaption}
\item[{type $\ast$}]{inputOutputBuffer = {\ttfamily (type$\ast$)NULL}}
\end{DoxyParamCaption}
)}}
\label{class_template_buffer_a8af163675e8f3a431111a59b63bf8870}
center and reduct the image (image-\/mean)/std 
\begin{DoxyParams}{Parameters}
{\em inputOutputBuffer,:} & the image to be normalized if no parameter, the result is rewrited on it \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_ae387e6014f7dac2877e6aa19aefda888}{
\index{TemplateBuffer@{TemplateBuffer}!clipHistogram@{clipHistogram}}
\index{clipHistogram@{clipHistogram}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{clipHistogram}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::clipHistogram (
\begin{DoxyParamCaption}
\item[{double}]{minRatio, }
\item[{double}]{maxRatio, }
\item[{double}]{maxOutputValue}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_ae387e6014f7dac2877e6aa19aefda888}
Clip buffer histogram 
\begin{DoxyParams}{Parameters}
{\em minRatio,:} & the minimum ratio of the lower pixel values, range=\mbox{[}0,1\mbox{]} and lower than maxRatio \\
\hline
{\em maxRatio,:} & the aximum ratio of the higher pixel values, range=\mbox{[}0,1\mbox{]} and higher than minRatio \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_a067c5074d81e1394473a9777decaa9bb}{
\index{TemplateBuffer@{TemplateBuffer}!getDepthSize@{getDepthSize}}
\index{getDepthSize@{getDepthSize}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getDepthSize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ unsigned int {\bf TemplateBuffer}$<$ type $>$::getDepthSize (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a067c5074d81e1394473a9777decaa9bb}
\begin{DoxyReturn}{Returns}
the numbers of depths (3rd dimension: 1 for gray images, 3 for rgb images) of the images used by the object 
\end{DoxyReturn}
\hypertarget{class_template_buffer_a595ede8abaa4bad8767f5df4acd3c2b7}{
\index{TemplateBuffer@{TemplateBuffer}!getMean@{getMean}}
\index{getMean@{getMean}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getMean}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ const double {\bf TemplateBuffer}$<$ type $>$::getMean (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a595ede8abaa4bad8767f5df4acd3c2b7}
\begin{DoxyReturn}{Returns}
the mean value of the vector 
\end{DoxyReturn}
\hypertarget{class_template_buffer_abeda561d7c7c6b0d1b1e804067f56caf}{
\index{TemplateBuffer@{TemplateBuffer}!getNBcolumns@{getNBcolumns}}
\index{getNBcolumns@{getNBcolumns}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getNBcolumns}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ unsigned int {\bf TemplateBuffer}$<$ type $>$::getNBcolumns (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_abeda561d7c7c6b0d1b1e804067f56caf}
\begin{DoxyReturn}{Returns}
the numbers of columns (width) of the images used by the object 
\end{DoxyReturn}
\hypertarget{class_template_buffer_a5213de8110298761ae455cb58b00fcbd}{
\index{TemplateBuffer@{TemplateBuffer}!getNBpixels@{getNBpixels}}
\index{getNBpixels@{getNBpixels}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getNBpixels}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ unsigned int {\bf TemplateBuffer}$<$ type $>$::getNBpixels (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a5213de8110298761ae455cb58b00fcbd}
\begin{DoxyReturn}{Returns}
the numbers of pixels (width$\ast$height) of the images used by the object 
\end{DoxyReturn}
\hypertarget{class_template_buffer_ad2e07be80d1bfd7497437ec790bc6f08}{
\index{TemplateBuffer@{TemplateBuffer}!getNBrows@{getNBrows}}
\index{getNBrows@{getNBrows}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getNBrows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ unsigned int {\bf TemplateBuffer}$<$ type $>$::getNBrows (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_ad2e07be80d1bfd7497437ec790bc6f08}
\begin{DoxyReturn}{Returns}
the numbers of rows (height) of the images used by the object 
\end{DoxyReturn}
\hypertarget{class_template_buffer_a17a6fb35647f61012e1c4eda6ab1bdca}{
\index{TemplateBuffer@{TemplateBuffer}!getStandardDeviation@{getStandardDeviation}}
\index{getStandardDeviation@{getStandardDeviation}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{getStandardDeviation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ const double {\bf TemplateBuffer}$<$ type $>$::getStandardDeviation (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a17a6fb35647f61012e1c4eda6ab1bdca}
\begin{DoxyReturn}{Returns}
standard deviation of the buffer 
\end{DoxyReturn}
\hypertarget{class_template_buffer_ace80e5b52a471e30c48b61944b274438}{
\index{TemplateBuffer@{TemplateBuffer}!normalizeGrayOutput\_\-0\_\-maxOutputValue@{normalizeGrayOutput\_\-0\_\-maxOutputValue}}
\index{normalizeGrayOutput\_\-0\_\-maxOutputValue@{normalizeGrayOutput\_\-0\_\-maxOutputValue}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{normalizeGrayOutput\_\-0\_\-maxOutputValue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::normalizeGrayOutput\_\-0\_\-maxOutputValue (
\begin{DoxyParamCaption}
\item[{type $\ast$}]{inputOutputBuffer = {\ttfamily (type$\ast$)NULL}, }
\item[{const size\_\-t}]{nbPixels = {\ttfamily 0}, }
\item[{const type}]{maxOutputValue = {\ttfamily (type)255.0}}
\end{DoxyParamCaption}
)}}
\label{class_template_buffer_ace80e5b52a471e30c48b61944b274438}
standard 0 to 255 image normalization function 
\begin{DoxyParams}{Parameters}
{\em inputOutputBuffer,:} & the image to be normalized (rewrites the input), if no parameter, then, the built in buffer reachable by getOutput() function is normalized \\
\hline
{\em nbPixels,:} & specifies the number of pixel on which the normalization should be performed, if 0, then all pixels specified in the constructor are processed \\
\hline
{\em maxOutputValue,:} & the maximum output value\\
\hline
\end{DoxyParams}
normalize output between 0 and 255, can be applied on images of different size that the declared size if nbPixels parameters is setted up; \hypertarget{class_template_buffer_ac7916ef90fdc71e774dece4d3598d6e8}{
\index{TemplateBuffer@{TemplateBuffer}!normalizeGrayOutputCentredSigmoide@{normalizeGrayOutputCentredSigmoide}}
\index{normalizeGrayOutputCentredSigmoide@{normalizeGrayOutputCentredSigmoide}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{normalizeGrayOutputCentredSigmoide}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::normalizeGrayOutputCentredSigmoide (
\begin{DoxyParamCaption}
\item[{const type}]{meanValue = {\ttfamily (type)0.0}, }
\item[{const type}]{sensitivity = {\ttfamily (type)2.0}, }
\item[{type $\ast$}]{inputPicture = {\ttfamily (type$\ast$)NULL}, }
\item[{type $\ast$}]{outputBuffer = {\ttfamily (type$\ast$)NULL}, }
\item[{const type}]{maxOutputValue = {\ttfamily (type)255.0}}
\end{DoxyParamCaption}
)}}
\label{class_template_buffer_ac7916ef90fdc71e774dece4d3598d6e8}
sigmoide image normalization function (saturates min and max values) 
\begin{DoxyParams}{Parameters}
{\em meanValue,:} & specifies the mean value of th pixels to be processed \\
\hline
{\em sensitivity,:} & strenght of the sigmoide \\
\hline
{\em inputPicture,:} & the image to be normalized if no parameter, then, the built in buffer reachable by getOutput() function is normalized \\
\hline
{\em outputBuffer,:} & the ouput buffer on which the result is writed, if no parameter, then, the built in buffer reachable by getOutput() function is normalized \\
\hline
{\em maxOutputValue,:} & the maximum output value \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_adad909f10092ff4fbda3831120bda1d1}{
\index{TemplateBuffer@{TemplateBuffer}!normalizeGrayOutputNearZeroCentreredSigmoide@{normalizeGrayOutputNearZeroCentreredSigmoide}}
\index{normalizeGrayOutputNearZeroCentreredSigmoide@{normalizeGrayOutputNearZeroCentreredSigmoide}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{normalizeGrayOutputNearZeroCentreredSigmoide}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::normalizeGrayOutputNearZeroCentreredSigmoide (
\begin{DoxyParamCaption}
\item[{type $\ast$}]{inputPicture = {\ttfamily (type$\ast$)NULL}, }
\item[{type $\ast$}]{outputBuffer = {\ttfamily (type$\ast$)NULL}, }
\item[{const type}]{sensitivity = {\ttfamily (type)40}, }
\item[{const type}]{maxOutputValue = {\ttfamily (type)255.0}}
\end{DoxyParamCaption}
)}}
\label{class_template_buffer_adad909f10092ff4fbda3831120bda1d1}
sigmoide image normalization function (saturates min and max values), in this function, the sigmoide is centered on low values (high saturation of the medium and high values 
\begin{DoxyParams}{Parameters}
{\em inputPicture,:} & the image to be normalized if no parameter, then, the built in buffer reachable by getOutput() function is normalized \\
\hline
{\em outputBuffer,:} & the ouput buffer on which the result is writed, if no parameter, then, the built in buffer reachable by getOutput() function is normalized \\
\hline
{\em sensitivity,:} & strenght of the sigmoide \\
\hline
{\em maxOutputValue,:} & the maximum output value \\
\hline
\end{DoxyParams}
\hypertarget{class_template_buffer_a53559da4857ef9be10481fc7cf4fe426}{
\index{TemplateBuffer@{TemplateBuffer}!resizeBuffer@{resizeBuffer}}
\index{resizeBuffer@{resizeBuffer}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{resizeBuffer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::resizeBuffer (
\begin{DoxyParamCaption}
\item[{const size\_\-t}]{dimRows, }
\item[{const size\_\-t}]{dimColumns, }
\item[{const size\_\-t}]{depth = {\ttfamily 1}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a53559da4857ef9be10481fc7cf4fe426}
resize the buffer and recompute table index etc. \hypertarget{class_template_buffer_a8ce492a94d1254affb0279625b684a2e}{
\index{TemplateBuffer@{TemplateBuffer}!setZero@{setZero}}
\index{setZero@{setZero}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{setZero}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::setZero (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_a8ce492a94d1254affb0279625b684a2e}
delete the buffer content (set zeros) \hypertarget{class_template_buffer_ab0e6f57c5dc49f18ad2e87158eeedee2}{
\index{TemplateBuffer@{TemplateBuffer}!ShiftLeft@{ShiftLeft}}
\index{ShiftLeft@{ShiftLeft}!TemplateBuffer@{TemplateBuffer}}
\subsubsection[{ShiftLeft}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class type $>$ void {\bf TemplateBuffer}$<$ type $>$::ShiftLeft (
\begin{DoxyParamCaption}
\item[{const size\_\-t}]{nb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{class_template_buffer_ab0e6f57c5dc49f18ad2e87158eeedee2}
sample fuction for shift computation on the buffer (usefull for type int products and divides 

The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
TemplateBuffer.hpp\end{DoxyCompactItemize}
